package com.jsoft.jsofted.sys.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.IsNotNull;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import com.jsoft.jsofted.framework.entity.OfUserEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Map;

/**
 * 任务实体：用来存储我的任务
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Table("sys_task")
@TableName("sys_task")
public class TaskEntity extends OfUserEntity {

    // 任务内容
    @Column(length = 512)
    @IsNotNull
    protected String content;

    /**
     * 备注信息：
     */
    @Column(length = 128)
    protected String notes;

    /**
     * 链接页面：点击后打开任务处理页面。
     * 如果没有该地址，则打开任务管理模块默认处理页面。
     * 如：页面路径必须在views目录下，如 /sys/user/edit
     */
    @Column(length = 128)
    protected String linkPage;

    /**
     * 链接参数
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    @Column(type = MySqlTypeConstant.TEXT)
    protected Map linkParams;

    /**
     * 状态：0-未读，1-已读(未完成)，8-已终止，9-已完成
     */
    @Column(length = 2)
    @IsNotNull
    protected String statusCode;

}
